#include "Tree.cpp"

//给定一个二叉树，找出其最小深度。
//
//最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
//
//说明：叶子节点是指没有子节点的节点。

int minDepth(TreeNode* root){
    if (root == NULL) {
        return 0;
    }
    if (root->leftChild == NULL) {
        return minDepth(root->rightChild)+1;
    }
    if (root->rightChild == NULL) {
        return minDepth(root->leftChild)+1;
    }

    int hl = minDepth(root->leftChild)+1;
    int hr = minDepth(root->rightChild)+1;

    return hl > hr ? hr : hl;
}



